// PR c++/91364 - Implement P0388R4: Permit conversions to arrays of unknown bound.
// { dg-do compile { target c++20 } }

// Ranking of reference initialization conversions

void f(int(&)[]) {}	    // (1)
//void f(int(&)[1]) { }	    // (2)
void f(int*) { }	    // (3)

//void f2(int(&)[]) { }	    // (1)
void f2(int(&)[1]) { }	    // (2)
void f2(int*) { }	    // (3)

// From P0388R4:
// (3) should be equal to (1) (as it is to (2))
// Check that we get "ambiguous overload" errors.

void
doit ()
{
  int arr[1];
  f(arr); // { dg-error "ambiguous" }
  f2(arr); // { dg-error "ambiguous" }
}
